package org.noip.milhous.datastore;

import java.util.List;

import org.noip.milhous.clause.Where;

public interface Datastore
{
	/**
	 * Select a bunch of objects given a where clause and a set of fields.
	 * 
	 * @param <Type>
	 * @param className
	 * @param where
	 * @param fields
	 * @return
	 */
	public <Type> List<Type> select(Class<?> className, Where where, Object... fields);

	public <Type> List<Type> selectAll(Class<?> className);

	public <Type> void insert(Object o);

	public void delete(Object item);

}
